不小心就偷懶了5天:3 反正也沒有完賽證明了,就把庫存整理整理發一發。最近發的幾篇觸及都超級低,有點難過哈哈哈。
下方程式碼片段全部都是擷取自 Secure Code Warrior 線上安全程式培訓平台,因為練習互動時的題目多半不會只有單一個檔案,可能涉及多個檔案、資料夾及多處地方修改,因此我的文章主要是針對最主要的區塊做修改及說明,若有不好理解的地方非常抱歉也還請見諒,也可以實際上去 Secure Code Warrior 玩玩看,搭配著互動,會更有感的學習哦~
private int passwordRetries = 0;
private int passwordWaitS = 0;
//程式碼片段擷取自 Secure Code Warrior 線上安全程式培訓平台
解釋:
沒有限制使用者輸入密碼的次數及限制密碼輸入的時間,可能導致惡意使用者重複輸入密碼,進而透過暴力破解法獲取密碼。
改成
private int passwordRetries = 3;
private int passwordWaitS = 60;
//程式碼片段擷取自 Secure Code Warrior 線上安全程式培訓平台
解釋:
將密碼輸入次數設為3次,以及等待時間60秒後鎖定,防止惡意使用者猜測密碼。
if (pin.length() > 3) return;
pin += number;
addAsterixToDisplay();
if (pin.length() == 3) onPinInputCompleted();
//程式碼片段擷取自 Secure Code Warrior 線上安全程式培訓平台
解釋:
設置密碼數最低為3真的太短了,建議應使用8位數以上中英夾雜的密碼。
if (pin.length() > 8) return;
pin += number;
addAsterixToDisplay();
if (pin.length() == 8) onPinInputCompleted();
//程式碼片段擷取自 Secure Code Warrior 線上安全程式培訓平台
解釋:
改成長一點就行